vsprintf用法解析 |
您所在的位置:网站首页 › const int buf › vsprintf用法解析 |
int vsprintf (char * s, const char * format, va_list arg ); 描述: 将可变参数列表的格式化数据写入字符串 使用由arg标识的变量参数列表中的元素而不是附加函数参数,并将结果内容作为C字符串存储在s指向的缓冲区中。 在内部,函数从arg标识的列表中检索参数,就好像va_arg被使用了一样,因此arg的状态很可能被调用所改变。 在任何情况下,arg都应该在调用之前的某个时刻由va_start初始化,并且在调用之后的某个时刻,预计会由va_end释放。 参数: s 指向存储结果C字符串的缓冲区的指针。 缓冲区应该足够大以包含结果字符串。 format 包含格式字符串的C字符串,其格式与printf中的格式相同 arg 标识使用va_start初始化的变量参数列表的值。 va_list是在中定义的特殊类型。 返回值: 成功后,返回写入的字符总数。 失败时,返回一个负数。 /* vsprintf example */ #include #include void PrintFError ( const char * format, ... ) { char buffer[256]; va_list args; va_start (args, format); vsprintf (buffer,format, args); perror (buffer); va_end (args); } int main () { FILE * pFile; char szFileName[]="myfile.txt"; pFile = fopen (szFileName,"r"); if (pFile == NULL) PrintFError ("Error opening '%s'",szFileName); else { // file successfully open fclose (pFile); } return 0; }在这个例子中,如果文件myfile.txt不存在,则调用perror以显示类似于以下内容的错误消息: Error opening file 'myfile.txt': No such file or directory |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |